package com.teacher.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.teacher.common.CommonResult;
import com.teacher.pojo.dto.carpoolPost.*;
import com.teacher.pojo.entity.CarpoolPost;
import com.baomidou.mybatisplus.extension.service.IService;
import com.teacher.pojo.vo.carpoolPost.CarpoolPostVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jiangzhuohang
 * @since 2024-03-14
 */
public interface ICarpoolPostService extends IService<CarpoolPost> {
    IPage<CarpoolPostVo> getCarpoolPostPageData(CarpoolPostDto dto);

    CommonResult addCarpoolPost(CarpoolPostAddDto dto);

    CommonResult deleteCarpoolPost(List<Long> list);

    CommonResult updateCarpoolPost(CarpoolPostUpdateDto updateDto);

    CommonResult getCarpoolList(SelectCarpoolList selectCarpoolList);

    CommonResult getCarpoolInfoById(Long id);

    CommonResult requestCarpool(RequestCarpoolDto requestCarpoolDto);

    CommonResult examineCarpoolPost(ExamineCarpoolPostDto dto);

    IPage<CarpoolPostVo> getOwnCarpoolPost(OwnCarpoolDto pageVo);

    CommonResult endCarpoolPost(Long carpoolPostId);

    CommonResult cancelCarpoolPost(Long carpoolPostId);
}
